Typical video encoding systems utilize various multiplexing techniques to transmit a plurality of compressed video bit streams (VBS) over a single channel. Generally, without special improvements, these channels have limited ability to transfer digital data streams. For example, a conventional channel may have an upper transfer boundary of approximately 10 megabits/sec. These channels are often referred to as “constrained bit-rate channels.” The bit-rate of an encoded stream (e.g., a stream that is encoded with MPEG-2) may fluctuate with time because input video frames have different complexity, and video fragments have various dynamic properties.
An example of a system multiplexer is described in Barry G. Haskell, Atul Puri, and Arun N. Netravali, “Digital Video: An Introduction To MPEG-2,” Chapman & Hall, 1997 (hereinafter referred to as “the Haskell reference”). The Haskell reference describes encoders, a multiplexer switch and buffer, and a system multiplex controller. Techniques used to combine a number of compressed, fluctuating video bit-streams into a constrained bit-rate channel are called statistical multiplexing. The purpose of statistical multiplexing is to dynamically distribute the available channel bandwidth among various video programs. Statistical multiplexing is described in U.S. Pat. No. 6,044,396 (hereinafter “the '396 patent”), entitled “Method And Apparatus For Utilizing The Available Bit-rate In A Constrained Variable Bit-rate Channel,” filed by Michael B. Adams, which is incorporated herein by reference as if set forth in its entirety. Hence, further discussion of statistical mutliplexing is omitted here.
FIG. 1 shows a conventional multiplexing system for compressing and combining video streams using MPEG encoding standards. Usually the conventional multiplexing system includes preprocessors 101a . . . 101n (collectively referred to as “preprocessors 101”), encoders 103a . . . 103n (collectively referred to as “encoders 103”), a controller 105, and a multiplexer 109. The preprocessors 101 perform spatial and/or temporal filtering. The preprocessors 101 also perform luminance-, chrominance-, and format transformations. Additionally, the preprocessors 101 collect statistical data in accordance with known methods. The encoders 103 comprise buffers for temporal storing of coded data. The encoders 103 utilize a virtual buffer model, which is known in the art, for data rate control. This ensures that data can be transmitted to the receiver and decoded without interruption. The controller 105 supervises the encoders 103 and the multiplexer 109. Often, the architecture of FIG. 1 is tasked for digital processing of large volumes of data, which are characteristic of video compression. However, the single-input-single-output (SISO) architecture of the encoders 103 of FIG. 1 limits the data capacity of the multiplexing system, thereby resulting in limited processing efficiency.
U.S. Pat. No. 6,192,083 (hereinafter “the '083 patent”), entitled “Statistical Multiplexed Video Encoding Using Pre-Encoding A Priori and A Posteriori Statistics,” gives one approach for overcoming problems with conventional statistical multiplexing systems. In the '083 patent, the controller typically makes bit allocation decisions using only a posteriori statistics when the pictures of the N video streams have already been encoded. This results in periods of poor quality video for some video streams. Hence, the approach of the '083 patent is generally useful for non-real-time encoding. The '083 patent teaches the steps of pre-encoding video, storing the pre-encoded MPEG video and statistical files, transcoding the pre-encoded video, and using a priori and a posteriori statistics for bit allocation. That approach, therefore, improves video quality during demultiplexing and decoding of multiplexed bit streams. However that approach is very complicated, memory-intensive, and not readily amenable to real-time encoding and/or multiplexing.
L. Boroczky, A. Y. Ngai, and E. F. Westermann, in the article “Statistical multiplexing using MPEG-2 video encoders,” (hereinafter “the IBM article”) IBM Journal of Research and Development, Vol. 43, N. 4, 1999, and Choi et al. in U.S. Pat. No. 6,195,388 (hereinafter “the '388 patent”), entitled “Apparatus And Method For Encoding Multiple Video Programs,” propose systems that use joint rate-control algorithms to dynamically allocate constrained channel bandwidths among encoders. Those systems have typical structures for statistical multiplexing, but are based on the improved controller strategy. Those systems were intended for real time data encoding and transmission. However, those systems have very limited opportunity of control, since they use algorithms that unreliably forecast the complexity of the video frames.
U.S. Pat. No. 5,854,658 (hereinafter “the '658 patent”), entitled “Statistical Multiplexing System Which Encodes a Sequence of Video Images Using a Plurality of Video Encoders,” describes approaches where each video frame is encoded by one master encoder and multiple slave encoders that share frame and buffer memory. The '658 patent provides algorithms for constant bit-rate (CBR) encoding and variable bit-rate (VBR) encoding. However, the '658 patent does not correspond to real-time multiplexing systems because the algorithm has recursive properties.
U.S. Pat. No. 6,259,733 (hereinafter “the '733 patent”), entitled “Pre-Processing Of Bit-rate Allocation In A Multi-Channel Video Encoder,” suffers from similar recursive properties. However, unlike the '658 patent, the '733 patent uses preprocessing for better bit allocation.
Other shortcomings exist in known multi-channel real-time encoding and multiplexing systems. For example, a feedback loop for bit allocation correction introduces unacceptable delay and does not readily permit resolving of critical conditions. Additionally, there may be excessive variation in the quality of the resulting video programs, often resulting in problems such as video degradation. Also, overflow problems may occur due to the finite-volume output buffer of the system. Moreover, the admitted bandwidth of the multiplexed channel may not be efficiently used.
In view of the aforementioned deficiencies, a need exists in the industry for a more efficient and flexible approach to encoding and transmitting multiple video data streams through constrained rate transmission channels.